package serveur;


import solver.SudokuSolver;

public class MonitorSolver {
        private static SudokuSolver solver;
       
        public MonitorSolver() {
                solver = new SudokuSolver();
                initGrilleJeu();
        }
       /**
        * methode syncronized qui retourne la grille en cours
        * @return String
        */
        synchronized public String recupererGrilleJeu(){return solver.toStringEnCour();}
       
        /**
         * methode syncronized qui retourne la grille solution
         * @return String
         */
        synchronized public String recupereGrilleSolution() {return solver.toStringSolution();}
        
       /**
        * methode syncronized ajoute une valeur a la grille en cours
        * @param x int numéro de ligne
        * @param y int numero de colonne
        * @param valeur int a la ligne x et la colonne y
        *  @return int
        */
        synchronized public int ajouteValeur(int x, int y, int valeur) {return solver.ajouteValeur(x, y, valeur);}
        
        /**
         * methode syncronized qui retourne true si la grille est fini faux sinon
         * @return boolean
         */
        synchronized public boolean estFini() {return solver.estFini();}
        
        /**
         * Initialisation de la grille de jeu
         */
		public void initGrilleJeu() {
			solver.initFichierAle();
			solver.initGrilleSolution();
		}
}
